from functools import reduce

def calc(n):
    return reduce(
        lambda s, v: s - set(range(v ** 2, n, v)) if v in s else s,
        range(2, int(n ** 0.5) + 1),
        set(range(2, n))
    )

def test_calc():
    assert calc(100) == {2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97}
